Fast computation of coefficients for a variable delay decision feedback equalizer

ABSTRACT

Optimal Decision Feedback Equalizer (DFE) coefficients are determined from a channel estimate by casting the DFE coefficient problem as a standard recursive least squares (RLS) problem and solving the RLS problem. In one embodiment, a fast recursive method, e.g., fast transversal filter (FTF) technique, is used to compute the Kalman gain of the RLS problem, which is then directly used to compute MIMO Feed Forward Equalizer (FFE) coefficients. The FBE coefficients are computed by convolving the FFE coefficients with the channel impulse response. Complexity of a conventional FTF algorithm may be reduced to one third of its original complexity by selecting a DFE delay to force the FTF algorithm to use a lower triangular matrix. The length of the DFE may be selected to minimize the tap energy in the FBE coefficients or to ensure that the tap energy in the FBE coefficients meets a threshold.

CROSS REFERENCES TO RELATED APPLICATIONS

[0001] This application is a continuation-in-part of U.S. RegularUtility application Ser. No. 10/154,947, filed May 24, 2002 which claimspriority to U.S. Provisional Application Serial No. 60/339,253, filedOct. 26, 2001 and which is a continuation-in-part of U.S. RegularUtility application Ser. No. 10/044,013, filed Oct. 26, 2001, whichclaims priority to U.S. Provisional Application Serial No. 60/322,994,filed Sep. 18, 2001. This application claims priority to each of theseapplications and incorporates herein each of these references in itsentirety for all purposes.

1. FIELD OF THE INVENTION

[0002] This invention relates generally to digital communications; andmore particularly to decision feedback based equalizers that areemployed in digital communication systems.

2. BACKGROUND OF THE INVENTION

[0003] The structure and operation of communication systems is generallyknown. Many communication systems carry data, e.g., voice, audio, video,file, or other digital data that is sent from a transmitter to areceiver. On the transmitter side, data is first formed into packets.This data may be raw data or encoded data that represents the raw data.Each of these packets also typically includes a header, a known trainingsequence, and a tail. These packets are then modulated into symbols andthe symbols are transmitted by the receiver and intended for receipt bythe receiver. The receiver then receives the symbols and attempt toextract the data from the packets that are carried by the symbols.

[0004] A “channel” carries the symbols from the transmitter to thereceiver. The channel is serviced by a wired, wireless, optical, oranother media, depending upon the communication system type. In manycommunication systems, such as terrestrial based wireless communicationsystems, satellite based communication systems, cable basedcommunication systems, etc., the channel distorts the transmittedsymbols, from the perspective of the receiver, causing interferencebetween a subject symbol and a plurality of symbols surrounding thesubject symbol. This type of distortion is referred to as“inter-symbol-interference” and is, generally speaking, thetime-dispersed receipt of multiple copies the symbols caused bymultipath. The channel also introduces noise into the symbols prior totheir receipt. Each of these concepts is well known.

[0005] Equalizers are now generally employed in an attempt to removechannel effects from a received symbol stream. Thus, equalizers areessential building blocks of modem receivers, especially in broadbandapplications where inter-symbol-interference is a critical problem. In atypical equalizer, the channel between the transmitter and the receiveris first estimated based upon the training sequence contained in one ormore preambles. Then optimal equalizer coefficients (also referred to astaps and/or tap coefficients for the equalizer) are estimated based uponthe channel estimate. The optimal equalizer coefficients are then usedby the equalizer in extracting the data from the packet. The optimalequalizer coefficients may also be computed after extraction of the datafrom the equalized data stream based upon blind channel estimates.Equalizer coefficient generation should be repeated as often aspossible, especially in fast varying channel cases, to generate newequalizer coefficients. The received data stream is usually bufferedduring the period that is required for channel estimation and equalizercoefficient computations. Thus, the preamble (and also actual data)contained in a packet may be used to generate the channel estimate andoptimal equalizer coefficients that are employed by the equalizer toextract the data from the packet.

[0006] As symbol rates increase and modulation schemes become morecomplex, equalizers have increasingly greater importance. A criticalfactor in increasing the effectiveness of these equalizers is thecomplexity of optimal equalizer coefficient computation. A reduction inthis complexity: (1) reduces the memory size required to buffer thereceived symbol stream sequence during the period required forcoefficient computations; (2) allows more frequent uploading of newcoefficients thus enabling the equalizer to track fast channelvariations; and (3) simplifies the hardware and, resultantly, the diearea required for coefficient computation.

[0007]FIG. 1 is a block diagram illustrating a discrete timesymbol-spaced Decision Feedback Equalizer (DFE) based channelequalization model 100. The channel equalization model 100 includes achannel 102, a Feed Forward Equalizer (FFE) 104, a Decision block 106,and a Feed Back Equalizer (FBE) 108. An input sequence x(n) is complex,independent and identically distributed with unit power. Additive noisev(n) is white Gaussian with power spectral density σ_(v) ². Furthermore,the decisions {haeck over (x)}(n−δ) are assumed to be correct, and henceequal to x(n−δ). This assumption makes the design of the FBE 108 and FFE104 easier, but at the expense of introducing error propagation due topossibly wrong decisions. The FFE 104 function G(z) has length L. Thechannel (impulse) response vector of the channel h is given in Equation(1) as:

h=

^(Δ) [h(0)h(1) . . . h(N−1)]  Equation (1)

[0008] The number of coefficients (taps) M of the FBE 108 function B(z)is assumed greater or equal to the channel memory, i.e., M≧N−1. Thesemodeling assumptions are feasible in practice.

[0009] In estimating FFE 104 and FBE 108 equalizer coefficients, thegoal is to minimize the mean square error quantity of Equation (2).

ζ=E|x(n−δ)−{circumflex over (x)}(n−δ)|²,  Equation (2)

[0010] where {circumflex over (x)}(n−δ) is the delayed input signalestimate prior to the Decision block 106. By collecting the coefficientsof both G(z) and B(z) into vectors, we can express the received signal{circumflex over (x)}(n−δ) in Equation (3) as:

x _(n) =y _(n) g−{haeck over (x)} _(n) b  Equation (3)

[0011] A channel output model defining y_(n) may be expressed by:

y _(n) =x _(n) H+v _(n)  Equation (4)

[0012] where H is the (N+L−1)×L convolution matrix corresponding to thechannel response and expressed as: $\begin{matrix}{H = \begin{bmatrix}{h(0)} & 0 & \cdots & 0 \\{h(1)} & {h(0)} & \cdots & 0 \\\vdots & \vdots & ⋰ & \vdots \\{h\left( {N - 1} \right)} & {h\left( {N - 2} \right)} & ⋰ & {h(0)} \\0 & {h\left( {N - 1} \right)} & ⋰ & {h(1)} \\\vdots & \vdots & ⋰ & \vdots \\0 & 0 & \cdots & {h\left( {N - 1} \right)}\end{bmatrix}} & {{Equation}\quad (5)}\end{matrix}$

[0013] In this model, x_(n) is the 1×(N+L−1) input vector,

x _(n)

^(Δ) [x(n)x(n−1) . . . x(n−N−L+2)]  Equation (6)

[0014] y_(n) is the 1×L input regression vector to the FFE 104,

y _(n)

^(Δ) [y(n)y(n−1) . . . y(n−L+1)]  Equation (7)

[0015] {haeck over (x)}_(n) is the 1×M input regression vector to the(strictly causal) FBE 108,

{haeck over (x)} _(n)

^(Δ) [x(n−δ−1)x(n−δ−2) . . . x(n−M)]  Equation (8)

[0016] and v_(n) is the 1×L vector noise process.

[0017] The current efficient methods for computing the optimal filtercoefficients of a decision feedback equalizer, which optimizes (2), arebased on the well-known Cholesky decomposition method (from afinite-dimension problem formulation). Two published papers: (1) N.Al-Dhahir and J. M. Cioffi, “MMSE Decision-Feedback Equalizers:Finite-Length Results,” IEEE Trans. on Information Theory, vol. 41, no.4, pp. 961-973, July 1995; and (2) N. Al-Dhahir and J. M. Cioffi, “FastComputation of Channel-Estimate Based Equalizers in Packet DataTransmission,” IEEE Trans. on Signal Processing, vol. 43, no. 11, pp.2462-2473, November 1995 provide one procedure for computing optimal DFEsettings. These equations are referred to hereinafter as “Al-Dhahir'sequations.”

[0018] Generally speaking, Al-Dhahir's equations, as well as otherexistent techniques rely on the use of the generalized Schur algorithmfor fast Cholesky decomposition of the matrices involved in both the FBEand FFE optimal coefficient setting computations. However, the overallprocedures for calculation of the DFE (FBE and FFE) coefficients havethe following problems:

[0019] 1. These procedures require the use of nonstructured recursiveequations. These equations are difficult to implement from theperspective of integrated circuit design. In particular, the recursiveequations used in Al-Dhahir's DFE tap (coefficient) computer oftenrequires the use of a DSP processor. As is generally known, the use of aDSP processor in a real-time communication system application severelyconstricts system throughput.

[0020] 2. These procedures, in particular Al-Dhahir's equations, requirea complex tap computer. In other words, they require the use of arelatively large number of complex multiplies.

[0021] 3. These prior art DFE coefficient computation techniques can beused only for equalizers that use a fixed equalizer delay (δ), which isset to its maximum value L−1, where L is the length of the FFE 104. Theprior art techniques cannot use a different delay δ of the equalizer.

[0022] Additional difficulties relate to the operation of FFEs, and thecomputation of FFE coefficients where the channel being equalized has along pre-echo (precursor components). The problem arises from themodeling restriction that the total channel/equalizer delay be less thanthe FFE length. While this restriction enables the derivation of fastcomputation of the FBE taps, such as with Al-Dhahir's equations, thisrestriction results in FBE taps greater than one, which causes the DFEto be unstable.

[0023] Thus, there is a need in the art for an equalizer coefficientcomputation methodology and system in which such methodology may beimplemented.

SUMMARY OF THE INVENTION

[0024] In order to overcome the above-cited shortcomings, among othersof the prior art, the method and system of the present inventioncomputes optimal Decision Feedback Equalizer (DFE)coefficients{g_(opt),b_(opt)} from a channel estimate h. As contrastedto the prior art, the methodology of the present invention relies oniterating simple structured recursions to yield the DFE coefficients.Resultantly, the operation according to the present invention producesDFE coefficients faster and with less computational requirements thanthe prior art operations, thus providing significant advantages overprior techniques.

[0025] According to the present invention, a channel impulse response his first estimated based upon either a known training sequence or anunknown sequence. A solution to the DFE coefficient computation problemis then cast as a standard recursive least squares (RLS) problem. Morespecifically, the solution for Feed Forward Equalizer (FFE) coefficientsg_(opt) (of the DFE) based upon the channel impulse response h isformulated as the Kalman gain solution to the RLS problem. A fastrecursive method for computing the Kalman gain is then directly used tocompute g_(opt).

[0026] In one embodiment of the present invention, a fast transversalfilter (FTF) technique is employed to compute g_(opt). In thisembodiment, the complexity of a conventional FTF algorithm is reduced toone third of its original complexity by choosing the length of Feed BackEqualizer (FBE) coefficients b_(opt) (of the DFE) to force the FTFalgorithm to use a lower triangular matrix. This technique significantlyreduces the needed recursions and computations, as well as avoidingfinite precision problems of a conventional FTF solution implemented inhardware.

[0027] Finally, with the FFE coefficients g_(opt) determined, the FBEcoefficients b_(opt) are computed by convolving the FFE coefficientsg_(opt) with the channel impulse response h. In performing thisoperation, a convolution matrix that characterizes the channel impulseresponse h is extended to a bigger circulant matrix. With the extendedcirculant matrix structure, the convolution of the FFE coefficientsg_(opt) with the channel impulse response h may be performed theconvolution operations in a transformed domain. In one embodiment, theconvolution is performed in the frequency domain, which can be computedefficiently using the Fast Fourier Transform (FFT). However, in otherembodiments, other transformation domains are employed for theconvolution operations, e.g., Discrete Cosine Transformation domain andthe Discrete Hadamard Transform domain, among others.

[0028] According to one aspect of the present invention, solving theleast squares problem to yield Feed Forward Equalizer (FFE) coefficientsof the DFE coefficients includes: (1) selecting a delay of the DFE; (2)when the delay is less than or equal to a number of taps of the FFEminus one, performing a first set of operations; and (3) when the delayis greater than the number of taps of the FFE minus one, performing asecond set of operations. Generally, this aspect of the presentinvention “frees” the restriction of the channel/equalizer delay,enables a fast DFE tap computation algorithm, and also results in a FBEcoefficient solution with a long delay (longer than the FFE length).This technique is performed at the lowest possible increase incomplexity in the DFE tap computation algorithm. With a delay greaterthan the FFE length, it turns out that the computation iterates forwardprediction recursions as well as backward prediction recursions. Thealgorithm is recursive with D iterations (i=1 to D). For i<FFE length(L), only forward prediction recursions are iterated. For i=L to D, bothforward and backward recursions are iterated. For the first Literations, 3L multiplies/iteration are required. For the last (D-L)iterations, the complexity is 5L multiplies/iteration. Thus the totalcomplexity is [3L²+5L (D-L)] multiplies.

[0029] With the constraint of fixed FBE delay removed, however, it isnow required to select a FBE delay. Thus, another aspect of the presentinvention focuses on determining the FBE delay. According to oneoperation of the present invention determining the delay of the DFEincludes determining a delay of the channel based upon the channelresponse of the channel and adding the delay of the channel to thenumber of taps of the FFE minus one to produce the delay of the DFE. Inthis operation, the delay of the channel may be selected as the lengthof the precursor of the channel response.

[0030] Another technique for determining the delay of the DFE accordingto the present invention considers the tap energy in the FBEcoefficients. One embodiment of this technique includes: (1) calculatinga plurality of sets of FFE coefficients and FBE coefficients, whereineach of the plurality of sets of FFE coefficients and FBE coefficientscorresponds to a respective DFE delay and (2) selecting one of theplurality of sets of FFE coefficients and FBE coefficients based uponthe tap energy of the respective FBE coefficients. With this embodiment,in selecting one of the plurality of sets of sets of coefficientsincludes selecting a set of FFE coefficients and FBE coefficients thatmeets an FBE coefficient tap energy threshold. In an alternateoperation, selecting one of the plurality of sets of sets ofcoefficients includes selecting a set of FFE coefficients and FBEcoefficients that provides a minimum FBE coefficient tap energy.

[0031] The method of the present invention is exact and is much fasterthan any prior technique that may have been employed to compute DFEcoefficients for the same channel and DFE filter lengths. Because themethod of the present invention relies upon simple structured recursion,the computation period and/or the hardware required for the DFEcoefficient computations is significantly reduced as compared to priorart implementations. The reduction in computation complexity andresultant increase in computation speed enables a DFE that operatesaccording to the present invention to track fast channel variations.

[0032] The method of the preset invention may be efficiently used inmany communication systems that require the use of equalizers such asmobile wireless receivers, fixed wireless receivers, cable modemreceivers, HDTV receivers, etc. to increase the performance of suchcommunication systems. Other features and advantages of the presentinvention will become apparent from the following detailed descriptionof the invention made with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0033] These and other features, aspects and advantages of the presentinvention will be more fully understood when considered with respect tothe following detailed description, appended claims and accompanyingdrawings wherein:

[0034]FIG. 1 is a block diagram illustrating a discrete timesymbol-spaced Decision Feedback Equalizer (DFE) channel equalizationmodel 100;

[0035]FIG. 2 is a logic diagram generally illustrating operationaccording to the present invention in determining DFE coefficients andapplying such coefficients to a DFE;

[0036]FIG. 3 is a logic diagram illustrating operations according to thepresent invention employed to determine Feed Forward Equalizer (FFE)coefficients for the DFE;

[0037]FIG. 4 is a logic diagram illustrating operations according to thepresent invention employed to determine Feed Back Equalizer (FBE)coefficients for the DFE;

[0038]FIG. 5 is a block diagram illustrating a discrete timefractionally-spaced DFE that operates according to the presentinvention;

[0039]FIG. 6 is a block diagram illustrating a multi-channel equivalentof the discrete time fractionally-spaced DFE of FIG. 5;

[0040]FIG. 7 is a block diagram illustrating a transceiver constructedaccording to the present invention;

[0041]FIG. 8 is a block diagram illustrating a Multi-Input-Multi-Output(MIMO) digital communication system that operates according to thepresent invention to equalize a channel;

[0042]FIG. 9 is a system diagram illustrating a wireless digitalcommunication system in which a MIMO receiver 904 operates according tothe present invention;

[0043]FIG. 10 is a system diagram illustrating a wireless digitalcommunication system that includes a plurality of transmitters and aMIMO receiver that operates according to the present invention;

[0044]FIG. 11 is a system diagram illustrating a wired digitalcommunication system that includes a plurality of transmitters and aMIMO receiver that operates according to the present invention;

[0045]FIG. 12 is logic diagram illustrating operation according toanother embodiment of the present invention in determining DFEcoefficients;

[0046]FIG. 13 is a graph illustrating a hypothetical channel impulseresponse indicating how channel delay may be determined according to thepresent invention;

[0047]FIG. 14 is a logic diagram illustrating operation according to afirst embodiment of the present invention in selecting FBE coefficients;and

[0048]FIG. 15 is a logic diagram illustrating operation according to asecond embodiment of the present invention in selecting FBEcoefficients.

DETAILED DESCRIPTION

[0049]FIG. 2 is a logic diagram generally illustrating operationaccording to the present invention in determining Decision FeedbackEqualizer (DFE) coefficients and in applying such coefficients to a DFE.The operations of the present invention are performed by a processor,such as a Digital Signal Processor (DSP), or other circuitry presentwithin a receiver that determines DFE coefficients to be applied to aDFE, also resident in the receiver. The DFE operates upon samples of areceived signal in an attempt to remove channel effects from the samplesso that digital data may be extracted from the samples. The structureand operation of DFEs, one of which was illustrated in FIG. 1, aregenerally known and will not be further described herein except as theyrelate to the present invention.

[0050] A processor, tap computer, DSP, or other receiver device, todetermine initial DFE coefficients to be used in subsequent operationsby the receiver, will first perform the operations of the presentinvention. Thus, during startup or reset, a channel corresponding to thereceiver is estimated (step 202). According to one embodiment of thepresent invention, the channel is estimated based upon a known preamblesequence. However, in other embodiments, the channel could also beestimated based upon unknown received data. In either case, channelestimation operations are generally well known and are not describedfurther herein except as it relates to the present invention.

[0051] With the channel estimated, Feed Forward Equalizer (FFE)coefficients are determined based upon the channel estimate (step 206).Then, Feed Back Equalizer (FBE) coefficients are determined based uponthe FFE coefficients and the channel estimate (step 208). The manner inwhich the FFE and FBE coefficients are generated is step 206 and step208 will be described in detail herein with reference to FIGS. 3-7.

[0052] With the FFE and FBE coefficients determined, they are applied tothe DFE (step 208) and are used in equalizing samples of a receivedsignal to remove channel effects. These DFE coefficients are continuallyupdated (step 210) using a known technique. Periodically, upon thereceipt of a next packet for example, upon an indication that a newdetermination is required, or upon another triggering event, the DFEcoefficients are again determined (step 212). In this event, anotherchannel estimate may be obtained (step 214). Then, the DFE coefficientsare again determined according to the present invention and applied tothe DFE. The operations of FIG. 2 continue until the receiver is turnedoff, placed in a sleep mode, or otherwise inactivated.

[0053]FIG. 3 is a logic diagram illustrating operations according to thepresent invention employed to determine Feed Forward Equalizer (FFE)coefficients for the DFE. In a first operation of FIG. 3, a DFE delay isselected (step 302). In one embodiment, this delay is selected as thechannel length. In such case, the DFE delay corresponds to the length ofthe FFE.

[0054] Next, the DFE solution is formulated into a least squaressolution (step 304). By collecting the FFE coefficients g and the FBEcoefficients b into a single vector w, the minimization of the MeanSquare Error may be written as: $\begin{matrix}{\min\limits_{w}{E{{{x\left( {n - \delta} \right)} - {\underset{\underset{u}{}}{\left\lbrack {y_{n} - {\overset{\Cup}{x}}_{n}} \right\rbrack}\underset{\underset{w}{}}{\quad \begin{bmatrix}g \\b\end{bmatrix}}}}}^{2}}} & {{Equation}\quad (9)}\end{matrix}$

[0055] Now, denoting R_(u) the variance of the augmented inputregression vector u, and cross variance R_(ux(n−δ)), the well-knownsolution to this smoothing problem is given by Equation (10) as:

w _(opt) =R _(u) ⁻¹R_(ux(n−δ)).  Equation (10)

[0056] where $\begin{matrix}{R_{u}\overset{\bigtriangleup}{=}{{{E\begin{bmatrix}y_{n}^{*} \\{- {\overset{\Cup}{x}}_{n}^{*}}\end{bmatrix}}\quad\left\lbrack {y_{n} - {\overset{\Cup}{x}}_{n}} \right\rbrack} = \begin{bmatrix}R_{y} & {- R_{y\quad \overset{\Cup}{x}}} \\{- R_{\overset{\Cup}{x}\quad y}} & R_{\overset{\Cup}{x}}\end{bmatrix}}} & {{Equation}\quad (11)} \\{and} & \quad \\{R_{{ux}{({n - \delta})}} = {\begin{bmatrix}{{Ey}_{n}^{*}{x\left( {n - \delta} \right)}} \\{E{\overset{\Cup}{x}}_{n}^{*}{x\left( {n - \delta} \right)}}\end{bmatrix} = \begin{bmatrix}R_{{yx}{({n - \delta})}} \\R_{\overset{\Cup}{x}\quad {x{({n - \delta})}}}\end{bmatrix}}} & {{Equation}\quad (12)}\end{matrix}$

[0057] Using the channel output model of Equation (4), and the fact thatx(n) is individually identically distributed (i.i.d.), the followingclosed form expressions for {R_(y), R_(y{haeck over (x)}),R_({haeck over (x)}), R_(yx(n−δ)), R_({haeck over (x)}x(n−δ))} aredetermined:

R _(y) =Ey* _(n) y _(n)=σ_(v) ² I+H*H  Equation (13) $\begin{matrix}{{R_{y\overset{\Cup}{x}} = {{H^{*}\left( {{Ex}_{n}^{*}{\overset{\Cup}{x}}_{n}} \right)} = {{H^{*}\begin{bmatrix}0_{{({\delta + 1})}*M} \\I_{M} \\0_{{({N + L - M - \delta})} \times M}\end{bmatrix}}\overset{\bigtriangleup}{=}{\overset{\_}{H}}^{*}}}},} & {{Equation}\quad (14)}\end{matrix}$

 R_({haeck over (x)}) =I _(M)  Equation (15)

R _(yx(n−δ)) =H*Ex* _(n) x(n−δ)=H*[0_(1×δ)1 0]^(T)

h*  Equation (16)

R _({haeck over (x)}x(n−δ))=0  Equation (17)

[0058] where {overscore (H)} is a submatrix of H as set forth inEquation (5), $\begin{matrix}{H = \begin{bmatrix}H_{1} \\\overset{\_}{H} \\H_{2}\end{bmatrix}} & {{Equation}\quad (18)}\end{matrix}$

[0059] H₁ is defined as the (δ+1)×L submatrix of H, consisting of thefirst (δ+1) rows of H. Note that for the case of colored noise, thematrix σ_(v) ²I should be replaced by the autocorrelation matrix of thenoise R_(v). Extending the derivation to the colored noise case isstraightforward.

[0060] Now, with the quantities defined above, Equation (10) becomes:

[0061] $\begin{matrix}{w_{opt} = {\begin{bmatrix}{{\sigma_{v}^{2}I} + {H^{*}H}} & {- {\overset{\_}{H}}^{*}} \\{- \overset{\_}{H}} & I\end{bmatrix}^{- 1}\begin{bmatrix}h^{*} \\0\end{bmatrix}}} & {{Equation}\quad (19)}\end{matrix}$

[0062] Using the well known inverse formula of block matrices, w_(opt)may be rewritten as: $\begin{matrix}\begin{matrix}{w_{opt} = \left( {\begin{bmatrix}0 & 0 \\0 & I\end{bmatrix} +} \right.} \\{\left. {\begin{bmatrix}I \\\overset{\_}{H}\end{bmatrix}{\left( {{\sigma_{v}^{2}I} + {H^{*}H} - {{\overset{\_}{H}}^{*}\overset{\_}{H}}} \right)^{- 1}\begin{bmatrix}I & \overset{\_}{H}\end{bmatrix}}} \right)\begin{bmatrix}h^{*} \\0\end{bmatrix}}\end{matrix} & {{Equation}\quad (20)} \\{{and}\quad {{as}:}} & \quad \\{\quad {= {\begin{bmatrix}I \\\overset{\_}{H}\end{bmatrix}\left( {{\sigma_{v}^{2}I} + {H_{1}^{*}H_{1}} + {H_{2}^{*}H_{2}}} \right)^{- 1}h^{*}}}} & {{Equation}\quad (21)}\end{matrix}$

[0063] which may be written as: $\begin{matrix}{\begin{bmatrix}g_{opt} \\b_{opt}\end{bmatrix} = {\begin{bmatrix}I \\\overset{\_}{H}\end{bmatrix}\left( {{\sigma_{v}^{2}I} + {\begin{bmatrix}H_{1}^{*} & H_{2}^{*}\end{bmatrix}\begin{bmatrix}H_{1} \\H_{2}\end{bmatrix}}} \right)^{- 1}h^{*}}} & {{Equation}\quad (22)}\end{matrix}$

[0064] Although each of the two matrices H₁ and H₂ has a shiftstructure, the augmented matrix $\begin{bmatrix}H_{1} \\H_{2}\end{bmatrix}\quad$

[0065] does not have a shift structure.

[0066] In selecting the length of the FBE (DFE delay) to be M≧N−1, thequantities h_(δ), H₁ and H₂ are such that: $\begin{matrix}{\begin{bmatrix}H_{1} \\H_{2}\end{bmatrix} = \begin{bmatrix}H_{\delta} & 0 \\0 & \overset{\sim}{H}\end{bmatrix}} & {{Equation}\quad (23)}\end{matrix}$

[0067] and

h=[h_(δ) 0 ]  Equation (24)

[0068] This implies that: $\begin{matrix}{{{\sigma_{v}^{2}I} + {H_{1}^{*}H_{1}} + {H_{2}^{*}H_{2}}} = \begin{bmatrix}{{\sigma_{v}^{2}I} + {H_{\delta}^{*}H_{\delta}}} & 0 \\0 & {{\sigma_{v}^{2}I} + {{\overset{\sim}{H}}^{*}\overset{\sim}{H}}}\end{bmatrix}} & {{Equation}\quad (25)}\end{matrix}$

[0069] is block diagonal. In this case, the expressions for g_(opt) andb_(opt) decouple into a simple form.

[0070] Therefore, the optimal FFE and FBE coefficients are representedas:

g_(opt)=(σ_(v) ²I=H*_(δ)H_(δ))⁻¹h*_(δ)  Equation (26)

b_(opt)={overscore (H)}g_(opt)  Equation (27)

[0071] The above expressions are valid for all values of the DFE delayδ. In general, the optimal value for the DFE delay δ is within the rangeL−1≦δ_(opt)≦N+L−2. In the special case of the choice δ=L−1, the matricesinvolved in the above expressions are given by $\begin{matrix}{{H_{\delta} = \begin{bmatrix}{h(0)} & 0 & \cdots & 0 \\{h(1)} & {h(0)} & \cdots & 0 \\\vdots & \vdots & ⋰ & \vdots \\{h\left( {N - 1} \right)} & {h\left( {N - 2} \right)} & ⋰ & {h(0)}\end{bmatrix}},{h_{\delta}^{*} = \begin{bmatrix}{h^{*}\left( {N - 1} \right)} \\{h^{*}\left( {N - 2} \right)} \\\vdots \\{h^{*}(0)}\end{bmatrix}}} & {{Equation}\quad (28)} \\{and} & \quad \\{\overset{\_}{H} = \begin{bmatrix}0 & {h\left( {N - 1} \right)} & ⋰ & {h(1)} \\0 & 0 & ⋰ & {h(2)} \\\vdots & \vdots & ⋰ & \vdots \\0 & 0 & \cdots & {h\left( {N - 1} \right)}\end{bmatrix}} & {{Equation}\quad (29)}\end{matrix}$

[0072] Note that this solution is equivalent to the solution ofAl-Dhahir's equations, due to the uniqueness of w_(opt) when Equation(2) is minimized. However, the expressions obtained above for Equations(26) and (27) provide alternative methods to compute the FFE and FBEcoefficients g_(opt) and b_(opt) in a simpler and more efficient waythan the prior art techniques.

[0073] In calculating g_(opt), a coefficient matrix is first defined inEquation (30) as:

P _(δ)

(σ_(v) ² I+H _(δ) *H _(δ))⁻¹  Equation (30)

[0074] so that the optimal solution for the FFE coefficients g_(opt) isgiven by

g _(opt) =P _(δ) h _(δ)*.  Equation (31)

[0075] The expression for g_(opt) corresponds exactly to the definitionof the Kalman gain vector, used to update the optimal weights in acertain regularized Recursive Least Squares (RLS) problem. Morespecifically, given a (n+1)×L data matrix H_(n) and the correspondingcoefficient matrix P_(n), the Kalman gain g_(n)=P_(n)h_(n)* can betime-updated according to the following recursions:

γ⁻¹(n)=1+h _(n) P _(n−1) h _(n)*,  Equation (32)

g _(n) =P _(n−1) h _(n)*γ(n),  Equation (33)

P _(n) =P _(n−1) g _(n)γ⁻¹(n)g _(n)*,  Equation (34)

[0076] where P⁻¹=σ_(v) ⁻²I (the term P⁻¹ is the initial condition forP_(n)) and g₀=0. The computation of the Kalman gain vector g_(n+1) inthe above solution relies on the propagation of the Riccati variableP_(n). This method of computation requires O(L²) operations periteration.

[0077] Well known fast RLS schemes avoid the propagation of P_(n) andcompute the gain g_(n) in a more efficient way. In this case, thecomputational complexity required is only of O(L) per iteration. Thisimplies that the overall complexity needed to calculate the FFEcoefficients is on the order of O(L²) thus yielding an efficient methodfor computing the FFE coefficients. Therefore, fast RLS filters are usedto determine g_(opt). In such case, fast transversal computations areemployed to determine the Kalman gain for the RLS solution (step 306).Here we also note that it is straightforward to extend this method touse other fast RLS algorithms, e.g., array form fast RLS algorithms.

[0078] Faster recursions may be obtained by selecting the FBE length.Such selection eliminates certain variables that remain constant andequal to zero during adaptations in the special solution for g_(opt).Fast RLS recursion in its explicit form propagates g_(n) in an efficientmanner, see, e.g.: [1] Ljung, M. Morf, and D. Falconer, “Fastcalculation of gain matrices for recursive estimation schemes,” Int. J.Contr. vol. 27, pp. 1-19, January 1978); [2] G. Carayannis, D.Manolakis, and N. Kalouptsidis, “A fast sequential algorithm for leastsquares filtering and prediction,” IEEE Trans. on Acoustic., Speech,Signal Proc., vol. ASSP-31, pp. 1394-1402, December 1983; and [3] J.Cioffi and T. Kailath, “Fast recursive-least-squares transversal filtersfor adaptive filtering,” IEEE Trans. on Acoust., Speech SignalProcessing, vol. ASSP-32, pp. 304-337, April 1984.

[0079] Table 1 lists the fast recursions employed in one embodiment forcomputing the normalized Kalman gain. The additional index included ink_(L,n) and γ_(L)(n) stems from the fact that these quantities admit anorder-update relation, instead of time-update. TABLE 1 Fast TransversalComputation of the Kalman gain. Initialization $\begin{matrix}{{\zeta^{f}\left( {- 1} \right)} = {{\zeta^{b}(0)} = \sigma_{v}^{2}}} \\{w_{- 1}^{f} = {w_{0}^{b} = {k_{0} = 0}}} \\{{\gamma_{L}(0)} = 1}\end{matrix}\quad$

For n = 0 to δ repeat operations (1) to (13): (1)α_(L)(n − 1) = h(n) − h_(n − 1)w_(n − 2)^(f)

(2) f(n − 1) = γ_(L)(n − 1)α(n − 1)

(3) $k_{{L + 1},{n - 1}} = {\begin{bmatrix}0 \\k_{L,{n - 1}}\end{bmatrix} + {\frac{\alpha*\left( {n - 1} \right)}{\zeta^{f}\left( {n - 2} \right)}\begin{bmatrix}1 \\{- w_{n - 2}^{f}}\end{bmatrix}}}$

(4) ζ^(f)(n − 1) = ζ^(f)(n − 2) + α * (n − 1)f(n − 1)

(5) w_(n − 1)^(f) = w_(n − 2)^(f) + k_(L, n − 1)f(n − 1)

(6)${\gamma_{L + 1}(n)} = {{\gamma_{L}\left( {n - 1} \right)}\frac{\zeta^{f}\left( {n - 2} \right)}{\zeta^{f}\left( {n - 1} \right)}}$

(7) v(n) = (last entry of k_(L+1,n−1)) (8)k_(L, n) = k_(L + 1, n − 1)(1 : L) + v(n)w_(n − 1)^(b)

(9) β(n) = ζ^(b)(n − 1)v^(*)(n)

(10)${\gamma_{L}(n)} = \frac{\gamma_{L + 1}(n)}{1 - {{\gamma_{L + 1}(n)}{\beta_{L}(n)}{v_{L}(n)}}}$

(11) b(n) = γ_(L)(n)β_(L)(n) (12)ζ^(b)(n) = ζ^(b)(n − 1) + β^(*)(n)b(n)

(13) w_(n)^(b) = w_(n − 1)^(b) + k_(L, n)b(n)

[0080] The purpose of computing k_(n) in the well-known FTF algorithm isto use it in the computation of the corresponding optimal least squaredsolution for the FFE coefficients. Because we are interested only ink_(n), the filtering part of the FTF algorithm is not necessary, anddoes not appear in the algorithm listing.

[0081] The quantities {w_(n) ^(f), w_(n) ^(b)} are known as theleast-squares solutions of the forward and backward prediction problemsof order L, with corresponding residual errors {f(n),b(n)}. Now, becauseduring the first L iterations, the desired signal for the backwardprediction problem is equal to zero, the backward least squares solutionw_(n) ^(b) will be equal to zero. This means that all quantitiesassociated with the backward prediction problems will remain nulls forthe first L iterations. Since in our case the optimal solution isachieved exactly at the L-th iteration, we can simply rule out thecomputation of these quantities from Table 1. These operationscorrespond to operations (7) and (9) through (13) of Table 1. Note thatoperation (10) of Table 1 is also eliminated, since β(n)=0, whichimplies γ_(L)(n)=γ_(L+1)(n). This means that we can replace operation(6) of Table 1 with: $\begin{matrix}{{{\gamma_{L}(n)} = {{\gamma_{L}\left( {n - 1} \right)}\frac{\zeta^{f}\left( {n - 2} \right)}{\zeta^{f}\left( {n - 1} \right)}}},} & {{Equation}\quad (35)}\end{matrix}$

[0082] which can be further simplified since $\begin{matrix}{{\gamma_{L}(n)} = {{\frac{\zeta^{f}\left( {- 1} \right)}{\zeta^{f}(0)}\frac{\zeta^{f}(0)}{\zeta^{f}(1)}\quad \cdots \quad \frac{\zeta^{f}\left( {n - 2} \right)}{\zeta^{f}\left( {n - 1} \right)}} = \frac{\sigma_{v}^{2}}{\zeta^{f}\left( {n - 1} \right)}}} & {{Equation}\quad (36)}\end{matrix}$

[0083] Moreover, operation (8) of Table 1 becomes simply

k _(L,n) =k _(L+1,n−1)(1:L).  Equation (37)

[0084] where (1:L) denotes the first L entries of k_(L+1,n−1)

[0085] Table 2 illustrates a simplified fast recursion for computing theoptimal FFE coefficients g_(opt). TABLE 2 Fast Transversal Computationof the FFE coefficients. Initialization $\begin{matrix}{{\zeta^{f}\left( {- 1} \right)} = \sigma_{v}^{2}} \\{w_{- 1}^{f} = {k_{L,0} = 0}} \\{{\gamma (0)} = 1}\end{matrix}\quad$

For n = 0 to δ repeat operations (1) through (7): (1)α_(L)(n − 1) = h(n) − h_(n − 1)w_(n − 2)^(f)

(2) f(n − 1) = γ(n − 1)α(n − 1) (3)$k_{{L + 1},{n - 1}} = {\begin{bmatrix}0 \\k_{L,{n - 1}}\end{bmatrix} + {\frac{f*\left( {n - 1} \right)}{\sigma_{v}^{2}}\begin{bmatrix}1 \\{- w_{n - 2}^{f}}\end{bmatrix}}}$

(4) ζ^(f)(n − 1) = ζ^(f)(n − 2) + α * (n − 1)f(n − 1)

(5) w_(n − 1)^(f) = w_(n − 2)^(f) + k_(L, n − 1)f(n − 1)

(6)${\gamma (n)} = \frac{\sigma_{v}^{2}}{\zeta^{f}\left( {n - 1} \right)}$

(7) k_(L,n) = k_(L+1,n−1)(1:L) Set g_(opt) = k_(L,δ)γ(δ)

[0086] With the Kalman gain determined, the FFE coefficients are thendetermined (step 308). In the recursions of Table 2, the FFEcoefficients are determined by setting g_(opt)=k_(L,δ)γ(δ) when thenumber of iterations, n, is equal to the DFE delay.

[0087] Unlike the conventional weighted FTF algorithm, the aboverecursions do not face finite precision difficulties for the followingreasons. First, by ruling out the equations associated with the backwardprediction problem, we are automatically eliminating many of therecursive loops that are responsible for the finite precisiondifficulties of the full FTF algorithm. Second, these simplified fastrecursions have a forgetting factor λ=1, which yields finite precisionstability. Third, the simplified algorithm deals with a finite set ofdata (δ+1 iterations). This algorithm is then reset, which avoids theaccumulation of finite precision errors.

[0088]FIG. 4 is a logic diagram illustrating operations according to thepresent invention employed to determine Feed Back Equalizer (FBE)coefficients for the DFE. The FBE coefficients b_(opt) are determinedaccording to the matrix-vector product of Equation (27). The computationof the feedback filter coefficients simply amounts to convolution of thechannel impulse response with g_(opt). The convolution operation thatdefines the optimal FBE coefficients in Equation (27) can be computeddirectly with LM/2 multiplications. Alternatively, the operations mayalso be efficiently performed using well-known fast FFT convolutiontechniques.

[0089] To illustrate such operations, Equation (29) is first rewrittenin Equation (38) as: $\begin{matrix}{{b_{opt} = {{\begin{bmatrix}I_{M} & 0\end{bmatrix}\quad\begin{bmatrix}\overset{\_}{H} & H_{3} \\H_{4} & H_{5}\end{bmatrix}}\quad\begin{bmatrix}g_{opt} \\0\end{bmatrix}}},} & {{Equation}\quad (38)}\end{matrix}$

[0090] The above equality holds true regardless of the values of H₃, H₄,or H₅. Now, if these values are chosen such that the matrix C, definedby: $\begin{matrix}{C = {\begin{bmatrix}\overset{\_}{H} & H_{3} \\H_{4} & H_{5}\end{bmatrix}\quad.}} & {{Equation}\quad (39)}\end{matrix}$

[0091] is a square (Q×Q) circulant matrix, where Q is the smallestpower-of-two integer larger than or equal M+L. In this case, the matrixC is rewritten in Equation (40) as:

C=F* ΛF,  Equation (40)

[0092] where F is a (Q×Q) FFT matrix and A is a diagonal matrix thatcontains the elements of the FFT of the first row of C. The solution forb_(opt) becomes: $\begin{matrix}{{b_{opt} = {\begin{bmatrix}I_{M} & 0\end{bmatrix}F*\Lambda \quad {F\quad\begin{bmatrix}g_{opt} \\0\end{bmatrix}}}},} & {{Equation}\quad (41)}\end{matrix}$

[0093] The complexity of this method is the complexity of obtaining theFFT of two vectors of Q elements of each, the inverse FFT of another Qelement vector, and Q complex multiples. Thus the overall complexity is

Q+3Q log₂(Q)  Equation (42)

[0094] For the case of a power-of-two channel estimate N, the complexityis

2M+6M log₂(2M).  Equation (43)

[0095] Thus, referring again to FIG. 4, in determining the FBEcoefficients, the convolutional matrix {overscore (H)} is firstdetermined (step 402). As was previously described, the matrix{overscore (H)} may be determined as part of the channel estimation.Then, the convolutional matrix {overscore (H)} is extended to form thebigger circulant matrix C (step 404). The bigger circulant matrix C isthen converted to the Frequency domain (step 406) as are the FFEcoefficients (step 408). With both the bigger circulant matrix C and theFFE coefficients in the frequency domain, they are convolved in thefrequency domain by simple matrix multiplication (step 410) to producethe FBE coefficients b_(opt). Finally, the resultant FBE coefficientsb_(opt) are then converted to the time domain using inverse FFToperations to produce FBE coefficients b_(opt) in the time domain (step412). The FBE coefficients b_(opt) are then applied with the FFEcoefficients g_(opt) to the DFE (as previously described with referenceto FIG. 2.

[0096]FIG. 5 is a block diagram illustrating a discrete timefractionally-spaced DFE that operates according to the presentinvention. FIG. 6 is a block diagram illustrating a multi-channelequivalent of the discrete time fractionally-spaced DFE of FIG. 5. Theapproach used for the symbol-spaced model can be easily extended tofractionally spaced models. In this section, we shall derive a fastalgorithm for a T/2-spaced equalizer. The fast solution for the generalcase of faster over sampling factors, say T/3, T/4, . . . , etc. willthen follow simply by inspection of the arguments in this section.

[0097]FIGS. 5 and 6 illustrate two equivalent representations for adiscrete time model of a T/2-spaced equalizer. FIG. 5 illustrates a DFE500 in terms of a down sampler and an up sampler device, while FIG. 6illustrates a DFE 600 is a corresponding multichannel representation.Thus, as contrasted to FIG. 1, the DFE 500 of FIG. 5 includes a downsampler 502 and an up sampler 504 that alter the sampling frequency.Further, the DFE 600 of FIG. 6 includes a first channel function 602having channel estimate h₀ and corresponding noise function v₀(n) andFFE 606 coefficients g₀. Likewise, the DFE 600 of FIG. 6 also includes asecond channel function 604 having channel estimate h₁ and correspondingnoise function v₁(n) and FFE 608 coefficients {g₀,g ₁}.

[0098] The equivalence between the structures of FIG. 5 and FIG. 6 canbe easily verified by writing each of the quantities {h.g} and v(n) interms of their polyphase components, and interchanging their positionwith the down sampler and the up sampler (see, e.g., P. P. Vaidyanathan,“Multirate Systems and Filter Banks,” Prentice Hall, NJ, 1993 and J. R.Treichler, I. Fijalkow, C. R. Johnson, Jr., “Fractionally spacedequalizers,” IEEE Signal Processing Magazine, vol. 13, no. 3, May 1996for details). The quantities {h₀,h₁} and {g₀,g₁} are the so-calledpolyphase components of the channel and FFEs, and are denoted by N and Lsize vectors {h₀,h₁} and {g₀,g₁} (see FIG. 6). The noise sequences{v₀(n), v₁(n)} are also the even and odd samples of v(n), with powers2σ_(v) ².

[0099] A model for the multichannel representation, just like the onefor the symbol spaced case in equation (4) may be rewritten bycollecting {g₀,g₁ } into a single vector g′, as:

g′=[g₁ g₀]  Equation (44)

[0100] with the output of the multichannel system given by:

└y_(0,n) y_(1,n)┘g′  Equation (45)

[0101] Thus, the following model of Equation (46) works for the input tog′:

└y _(0,n) y_(1,n) ┘=x _(n) └H ₀ H ₁ ┘+└v _(0,n) v _(1,n)┘  Equation (46)

[0102] where {H₀,H₁} are the convolution matrices associated with thesubchannels {h₀,h₁}. It is more convenient, however, to express theinner product in Equation (45) as a function of the original FFEcoefficients vector g, by reordering the entries of g′. In this case,Equation (46) is replaced by:

y′_(n) =x _(n) H′+v′ _(n)  Equation (47)

[0103] where $\begin{matrix}{H^{\prime} = \begin{bmatrix}{h(1)} & {h(0)} & \quad & \quad & \quad & \quad \\{h(3)} & {h(2)} & {h(1)} & {h(0)} & \quad & \quad \\\vdots & \vdots & {h(3)} & {h(2)} & \quad & \quad \\{h\left( {{2N} - 1} \right)} & {h\left( {{2N} - 2} \right)} & \vdots & \vdots & ⋰ & {h(0)} \\\quad & \quad & {h\left( {{2N} - 1} \right)} & {h\left( {{2N} - 2} \right)} & \quad & {h(2)} \\\quad & \quad & \quad & \quad & ⋰ & \vdots \\\quad & \quad & \quad & \quad & {h\left( {{2N} - 1} \right)} & {h\left( {{2N} - 2} \right)}\end{bmatrix}} & {{Equation}\quad (48)}\end{matrix}$

[0104] Given this convolution matrix and the noise variance σ_(v′) ² thesolution for the fractionally space problem is simply given by Equations(26) and (27), with {H_(δ),{overscore (H)}, σ_(v) ²} replaced by {H′₆₇,{overscore (H)}′,σ_(v′) ²} (similarly to the symbol-spaced case, herewe assume M>N−1).

[0105] For the symbol-spaced DFE, the shift structure of H_(δ) impliesthat k_(L,n)=k_(L+1,n−1)(1:L). That is, the normalized gain k_(L,n) canbe computed fast, by performing the order update of k_(L,n−1) tok_(L+1,n−1), and then retaining the first L entries of k_(L+1,n−1) ask_(L,n). The procedure to derive a fast recursion in the T/2-spaced casefollows the same principle. The only difference here is that the datamatrix H′_(δ) has now a double shift structure, in the sense that eachrow is formed by shifting two samples of the channel at a time. Thus,two successive order updates from k_(L,n−1) to k_(L+2,n−1) are performedand then the first L entries of k_(L+2,n−1) are retained:

k_(L,n−1)→k_(L+1kn−1)→k_(L+2,n−1)  Equation (49)

[0106] so that

k _(L,n) =k _(L+2,n−1)(1:L)  Equation (50)

[0107] In other words, the resulting algorithm is given by twoconsecutive forward prediction problems similar to operations (1)through (6) of Table 2 of orders L and L+1, respectively. Table 3 liststhe resulting algorithm for the T/2-spaced case. TABLE 3 FastTransversal Computation of FFE coefficients for the T/2-spacedequalizer. Initialization $\begin{matrix}{{\zeta_{L}^{f}\left( {- 1} \right)} = {{\zeta_{L + 1}^{f}\left( {- 1} \right)} = {2\sigma_{v}^{2}}}} \\{w_{L,{- 1}}^{f} = {w_{{L + 1},{- 1}}^{f} = {k_{L,0} = {k_{{L + 1},0} = 0}}}} \\{{\gamma_{L}(0)} = {{\gamma_{L + 1}(0)} = 1}}\end{matrix}\quad$

For n = 0 to δ repeated operations (1) to (6): (I) For q = L to L + 1repeat operations (1) to (6): (1)α_(q)(n − 1) = h(2n + q − L + 1) − h_(n − 1)w_(q, n − 2)^(f)

(2) f_(q)(n − 1) = γ_(q)(n − 1)α_(q)(n − 1) (3)$k_{{q + 1},{n - 1}} = {\begin{bmatrix}0 \\k_{q,{n - 1}}\end{bmatrix} + {\frac{\alpha_{q}^{*}\left( {n - 1} \right)}{\zeta_{q}^{f}\left( {n - 2} \right)}\begin{bmatrix}1 \\{- w_{q,{n - 2}}^{f}}\end{bmatrix}}}$

(4)ζ_(q)^(f)(n − 1) = ζ_(q)^(f)(n − 2) + α_(q)^(*)(n − 1)f_(q)(n − 1)

(5) w_(q, n − 1)^(f) = w_(q, n − 2)^(f) + k_(q, n − 1)f_(q)(n − 1)

(6)${\gamma_{q + 1}(n)} = {{\gamma_{q}(n)}\frac{\zeta_{q}^{f}\left( {n - 2} \right)}{\zeta_{q}^{f}\left( {n - 1} \right)}}$

(II) k_(L,n) = K_(L+1,n−1)(1:L) Set g_(opt) = k_(L,δ)γ_(L+2)(δ)

[0108] In the general case of a T/S spaced equalizer, the fast DFE tapcomputation is a straightforward extension of the above algorithm, whereq is iterated from L to (L+S−1). However, in the fractionally spacedequalizer, the RLS problem is formulated as a multi-channel problem. Insuch case, a multi-channel Kalman gain is calculated for themulti-channel RLS problem and the FFE taps are determined there from.Note that in the expressions of Table 3, successive order updates areperformed.

[0109] Now, the optimal FBE taps could now be computed as$\begin{matrix}{b_{opt} = {\begin{bmatrix}I_{M} & 0\end{bmatrix}F*{\Lambda \quad}_{S}{\left( {F \otimes I_{S}} \right)\quad\begin{bmatrix}g_{opt} \\0\end{bmatrix}}}} & {{Equation}\quad (51)}\end{matrix}$

[0110] where Λ_(S) is a block diagonal matrix, which satisfies

C _(S) =F _(S) *Λ _(S) F _(S)  Equation (52)

[0111] where F_(S)=F{circle over (×)}I_(S) and C_(S) is a blockcirculant matrix, which is formed by extending the matrix H in the samemanner as in Equation (39). As was the case with the symbol spacedoperations described above, the convolution may be performed in atransformed domain, e.g., Frequency Transformation domain, DiscreteCosine Transformation domain and the Discrete Hadamard Transformationdomain, among others. In such case a Croniker product may be employed inconjunction with such domain transformation in performing multi-channelconvolution in the selected transformed domain.

[0112]FIG. 7 is a block diagram illustrating a transceiver constructedaccording to the present invention. The components of the transceiver700 are resident in a communications device and are illustrated onlygenerally to show how the operations of the present invention would beaccomplished in such a transceiver. The transceiver 700 includes areceiver section 702 and a transmitter section 704 and further includeseither a wireless transceiver 706 or a wired transceiver, depending uponthe system in which the transceiver 700 is implemented. In the case of acellular device, RF device, satellite system device, or another wirelessimplementation, the transceiver 700 includes a wireless transceiver.However, in the case of a cable modem, a LAN device, a home networkingdevice, or another device that couples to a physical media, thetransceiver 700 includes a wired transceiver 708. Further, if thepresent invention is implemented in a Serializer/Deserializer (SERDES)or similar application, the receiver section 702 and transmitter section704 may couple to a media without a wired transceiver 708.

[0113] Further discussion of the transmitter section 704 and receiversection 702 are in the context of baseband processing. In such case, thereceiver section 702 receives a baseband signal from the wirelesstransceiver 706 (or wired transceiver 708) that is baseband modulatedand operates upon the baseband signal to extract data. These operationsinclude determining DFE coefficients according to the present inventionand operating upon the baseband signal using the determined DFEcoefficients.

[0114] The transmitter section 704 receives digital data to betransmitted from a host, codes the digital data into a baseband signal,and passes the baseband signal to the RF transceiver 706. The RFtransceiver 706 couples the baseband signal to an RF carrier to createan RF signal and transmits the RF signal to a receiving device across awireless link.

[0115] The receiver section 702 receives a baseband signal that carriescoded data from the RF transceiver 706. A Programmable Gain Amplifier(PGA) 712 adjusts the gain of the baseband signal and then provides thegain-adjusted baseband signal to an Analog-to-Digital Converter (ADC)714 for sampling. The ADC 208 samples the gain adjusted baseband signalat a particular sampling frequency, f_(s) (that is the symbol clockfrequency), to produce samples thereof.

[0116] A processor 710 couples to the output of the ADC 714 and analyzesa preamble sequence contained in each received physical layer frame.Based upon the preamble sequence, the processor 710 determines a gain tobe applied to portions of the baseband signal corresponding to the datacarrying portions of the frame and provides this gain to the PGA 712.Further, the processor 710 may also interact with the optional timingcompensation section 716 to compensate for symbol timing and RF carriermismatches.

[0117] The processor 710, based upon the preamble sequence (and basedupon actual extracted data in some operations), also determines FFE 104and FBE 108 coefficients. The manner in which these coefficients aredetermined was previously described in detail herein. Further, and aswas also previously described, the processor 710 may estimate a channeland calculate DFE coefficients based upon unknown but assumed datacontent. After the processor 710 determines these coefficients, they areapplied to the FFE 104 and FBE 108 for subsequent use in extracting datafrom the baseband signal.

[0118] The structure described in FIG. 7 may be embodied using varioustypes of circuits formed using various manufacturing processes. Forexample, in one particular embodiment, the RF transceiver 706 (or wiredtransceiver 708) is embodied in a first integrated circuit that iscoupled to a second integrated circuit that includes the transmittersection 704 and the receiver section 702, among other circuits. Inanother embodiment, the RF transceiver 706, the transmitter section 704and the receiver section 702 are all formed on a single monolithicintegrated circuit. These integrated circuits may be constructed in CMOSor another semiconductor technology, e.g., PMOS, NMOS, Bipolar, etc.

[0119] Further, the receiver section 702 of FIG. 7 may be constructedusing various circuit elements/combinations. In one embodiment, allstructures past the ADC 714 in the receiver section 702 are embodiedusing a Digital Signal Processor (DSP) or similar processing device. Inanother embodiment, dedicated signal path circuitry embodies each of thestructural components of the receiver section 702, including theprocessor 710. While a DSP implementation would provide moreflexibility, dedicated signal path circuitry would typically providehigher performance at a lower cost and with lower power consumption.

[0120] The structure and operation of the present invention may beemployed in satellite communication systems, satellite televisionsystems, HDTV systems, fixed wireless communication systems, mobilewireless communication systems, cable modem/television communicationsystems, home networking systems, wireless local area networkingsystems, wired local area networking systems, and many other types ofcommunication systems. The present invention applies to all types ofcommunication devices in which equalizers are employed to operate uponreceived signals.

[0121]FIG. 8 is a block diagram illustrating a Multi-Input-Multi-Output(MIMO) digital communication system that operates according to thepresent invention to equalize a channel. MIMO digital communicationsystems, as the term implies, are communication systems that includemultiple inputs on a transmitting side and multiple outputs on areceiving side. In such systems, MIMO decision feedback equalization isused to mitigate inter-symbol interference (ISI) that results fromchannel multi path propagation.

[0122] In the embodiment of FIG. 8, an input symbol stream includes Punique transmitted signals, represented by x₀(n), x₁(n), . . . ,x_(P−1)(n) (as are further shown with reference to FIGS. 8, 9, and 10).The nomenclature of FIG. 8 is used herein to describe the method of thepresent invention. Thus, the P transmitted signals are referred to incombination as transmitted signal vector x(n). The transmitted signalvector x(n) consists of a known training sequence followed by unknowndata. The transmitted signal vector x(n) passes through a channel 802represented by H(z) that is represented to have N taps. The channel 802includes additive noise v(n), which is white and Gaussian and has powerspectral density σ_(v) ². The output of the channel 804 is referred toas y(n) and has a length Q (the value Q is a function of P and N).

[0123] A MIMO DFE that equalizes the channel includes a MIMO FFE 804having function G(z) and length L and a MIMO FBE 808 having functionB(z) and length M (that is assumed to be greater or equal to the channelmemory, i.e., M≧N−1). The outputs of both the MIMO FFE 804 and the MIMOFBE 808 have a width P that corresponds to the multiple numbers ofsignals. MIMO decision block 806 makes soft decisions for the MIMOsymbol stream and produces as P output symbol streams {haeck over(x)}₀(n−δ), {haeck over (x)}₁(n−δ), . . . , {haeck over (x)}_(P−1)(n−δ).These soft decisions are provided to further receiver components, e.g.,a Viterbi decoder to produce hard decisions based upon the softdecisions.

[0124] Examples of systems in which the MIMO DFE of the presentinvention may be implemented include wireless systems, e.g., cellularwireless systems, fixed local loop wireless systems, wireless local areanetworks, high definition television systems, etc., and wired systems inwhich multiple transmitters and receives share a common media, e.g.,cable modem systems, etc. Diagrams representing such systems areillustrated in FIGS. 9, 10, and 11. The structure of FIG. 7 may beemployed to implement the structure and operations described withreference to FIGS. 8-11.

[0125]FIG. 9 is a system diagram illustrating a wireless digitalcommunication system 900 in which a MIMO receiver 904 operates accordingto the present invention. The wireless system 900 includes a MIMOtransmitter 902 that operates to receive a plurality of signal streamsand to form a wireless signal and that transmits the wireless signal.The MIMO receiver 904 receives the wireless signal after a correspondingchannel has operated upon it. The MIMO receiver 904 includes a MIMO DFEthat operates according to the present invention to equalize thereceived signal and to produce output based thereupon. As isillustrated, the MIMO receiver 904 may include antenna diversitystructure.

[0126]FIG. 10 is a system diagram illustrating a wireless digitalcommunication system 1000 that includes a plurality of transmitters1002A-1002G and a MIMO receiver 1004 that operates according to thepresent invention. Each of the plurality of transmitters 1002A-1002Gproduces a respective transmitted signal that carries a respective inputsymbol stream, x₁(n), x₂(n), . . . x_(P)(n). The MIMO receiver 1004receives the plurality of transmitted signals as a composite signalafter they have been operated upon the channel, equalizes the pluralityof received signals, and produces soft decisions for the equalizedsymbols. The wireless digital communication system 1000 of FIG. 10 maybe embodied as a cellular wireless network, a fixed wireless accessnetwork, a wireless local area network, or in another type of wirelesscommunication system in which a MIMO receiver 1004 receives wirelesstransmissions from a plurality of wireless transmitters 1002A-1002G. Asis illustrated, the MIMO receiver 904 may include antenna diversitystructure.

[0127]FIG. 11 is a system diagram illustrating a wired digitalcommunication system 1100 that includes a plurality of transmitters1102A-1102G and a MIMO receiver 1104 that operates according to thepresent invention. Each of the plurality of transmitters 1102A-1102Gproduces a respective transmitted signal that carries a respective inputsymbol stream, x₀(n), x₁(n), . . . x_(P−1)(n) and couples its respectivesignal to a network infrastructure 1106. The MIMO receiver 1104 couplesto the network infrastructure 1106 and receives the plurality oftransmitted signals as a composite signal after they have been operatedupon the channel, equalizes the plurality of received signals, andproduces soft decisions for the equalized symbols. The wired digitalcommunication system 1000 of FIG. 11 may be embodied in a cable modemsystem, or in another type of system in which the MIMO receiver 1004receives wired transmissions from a plurality of transmitters1002A-1002G

[0128] Referring again to FIG. 8, an efficient equalization techniquefor equalizing a channel in a MIMO system includes first estimating thechannel impulse responses between each transmitter and each receiverusing the training sequence, and then using this estimate to compute theoptimal DFE tap coefficients corresponding to the estimated channel. Thecomputed tap coefficients are then uploaded to the equalizer taps of theMIMO FFE (including MIMO FFE 804 and MIMO FBE 808) of FIG. 8. Thisprocedure should be repeated as often as possible, especially in casesof fast varying channels. Moreover, the received data stream is usuallybuffered during the period assigned for the channel estimation and theequalizer tap computation.

[0129] In this context, a critical factor for the success of thisequalization structure is the complexity of the MIMO DFE tapcomputation. A fast computation technique has the following benefits:

[0130] 1. It reduces the memory size required to buffer the receivedsequence during the period required for tap computations.

[0131] 2. It allows more frequent uploading of new equalizercoefficients, thus enabling the equalizer to track fast channelvariations.

[0132] 3. It simplifies the needed hardware, especially if suchcomputations are performed through structured recursive equations.

[0133] According to the present invention, an efficient method forcomputing the optimal MIMO MMSE-DFE coefficients includes characterizinga solution to the problem of solving for MIMO FBE and FFE coefficientsas a fast recursive-least-squares (RLS) adaptive algorithm. This fastalgorithm has the following advantages over the current most efficientalgorithm: (1) the proposed algorithm has less overall computationalcomplexity than prior techniques in solving for DFEs having the samechannel and DFE filters length; and (2) the technique relies on the useof a set of structured recursions, which makes it attractive indata-path implementations which do not rely on the use of a DSP core.

[0134] For simplicity of presentation a symbol-spaced MIMO DFE isconsidered. Extension of the teachings provided herein to thefractionally-spaced case is straightforward. Further, the followingcommonly used assumptions are made herein:

[0135] 1. The input sequences to the i-th channel, {x_(i)(n)}, arecomplex, independent and identically distributed with power σ_(x,i) ².The autocorrelation matrix of the corresponding vector process x(n) isgiven by:

R _(x) =I{circle over (×)}diag (σ _(x,0) ²,σ_(x,1) ², . . . ,σ_(x,P−1)²)  Equation (53)

[0136] where {circle over (×)} denotes the Kronecker product, and I isidentity matrix of appropriate dimensions.

[0137] The noise sequences {v_(q)(n)} are assumed to be white Gaussianwith power σ_(v,i) ². The autocorrelation matrix of size LQ of thecorresponding vector noise process v(n) is given by:

R _(v) =I _(L){circle over (×)}diag (σ_(v,0) ²,σ_(v,1) ², . . .,σ_(v,Q−1) ²)  Equation (54)

[0138] The decisions (from decision block 806) {circumflex over(x)}(n−δ) are assumed to be correct, and hence equal to x(n−δ).Moreover, the assumption that only previous decisions of other users areavailable at the present time, i.e., time (n−δ). It is further assumedthat the use of current decisions of other users contributes withnegligible improvement of the final output SNR.

[0139] The MIMO FFE 804 has a matrix filter G(z) with length L. Thenumber of matrix taps M of the MIMO FBE 808 having matrix filter B(z) issuch that M≧N−1.

[0140] The goal in determining the taps of the MIMO FFE 804 and the MIMOFBE 808 is to minimize the mean squared error quantity:

ζ=E∥x(n−δ)−{circumflex over (x)}(n−δ)∥²,  Equation (55)

[0141] where {circumflex over (x)}(n−δ) is the delayed input signalestimate prior to the decision. By collecting the tap matrixcoefficients both G(z) and B(z) into vectors, the received signal{circumflex over (x)}(n−δ) is expressed as:

{circumflex over (x)}(n−δ)=y _(n) g−{circumflex over (x)} _(n)b,  Equation (56)

[0142] where:

y _(n) =x _(n) H+v _(n),  Equation (57)

[0143] H is the (N+L−1)P×LQ convolution matrix associated with thechannel matrix coefficients h(0), h(1), . . . , h(N−1), and is given by:$\begin{matrix}{H = \begin{bmatrix}{h(0)} & 0 & \cdots & 0 \\{h(1)} & {h(0)} & \cdots & 0 \\\vdots & \vdots & ⋰ & \vdots \\{h\left( {N - 1} \right)} & {h\left( {N - 2} \right)} & ⋰ & {h(0)} \\0 & {h\left( {N - 1} \right)} & ⋰ & {h(1)} \\\vdots & \vdots & ⋰ & \vdots \\0 & 0 & \cdots & {h\left( {N - 1} \right)}\end{bmatrix}} & {{Equation}\quad (58)}\end{matrix}$

[0144] The row vector x_(n) is the 1×(N+L−1)P input regressor:

x _(n)

[x(n)x(n−1) . . . x(n−N−L+2)]  Equation (59)

[0145] With x(n)

[x₀(n) x₁(n) . . . x_(P−1)(n)]. The row vector y_(n) is the 1×LQ inputregressor to the feed forward filter g, i.e.,

y _(n)

[y(n)y(n−1) . . . y(n−L+1)]  Equation (60)

g

col[g ₀ ,g ₁ , . . . ,g _(L−1)]  Equation (61)

[0146] Where y(n)

└y₀(n) y₁(n) . . . Y_(Q−1)(n)┘ and {g_(i)} has size Q×P. Similarly,{haeck over (x)}_(n) is the 1×MP input regressor to the (strictlycausal) feedback filter b, i.e.,

{haeck over (x)} _(n)

[x(n−δ−1) . . . x(n−δ−M)]  Equation (62)

b

col[b ₀ ,b ₁ , . . . ,b _(M−1)]  Equation (63)

[0147] Where {b_(i)} are P×P. Also, v_(n) is the 1×LQ noise vectorprocess.

[0148] By collecting g and b into a single matrix w, the minimization ofEquation (55) can be written as: $\begin{matrix}{\min\limits_{w}{E{{{x\left( {n - \delta} \right)} - {\left\lbrack \underset{\underset{u}{}}{y_{n} - {\overset{˘}{x}}_{n}} \right\rbrack \underset{\underset{w}{}}{\begin{bmatrix}g \\b\end{bmatrix}}}}}^{2}}} & \text{Equation~~~(64)}\end{matrix}$

[0149] Now, denoting R_(u) as the variance of the augmented inputregression vector u, and R_(ux(n−δ)) as the cross variance of theaugmented input regression vector u, a solution to this smoothingproblem may be determined using a known technique, see, e.g., T.Kailath, A. H. Sayed, and B. Hassibi, Linear Estimation, Prentice Hall,N.J., 2000, to produce an optimal solution for w according to:

w _(opt) =R _(u) ⁻¹ R _(ux(n−δ)),  Equation (65)

[0150] where: $\begin{matrix}{R_{u}\quad \underset{=}{\Delta}{{{E\begin{bmatrix}y_{n}^{*} \\{- {\overset{˘}{x}}_{n}^{*}}\end{bmatrix}}\left\lbrack {y_{n} - {\overset{˘}{x}}_{n}} \right\rbrack}\begin{bmatrix}R_{y} & {- R_{y\overset{˘}{x}}} \\{- R_{\overset{˘}{x}y}} & R_{\overset{˘}{x}}\end{bmatrix}}} & \text{Equation~~(66)}\end{matrix}$

[0151] and $\begin{matrix}{R_{{ux}{({n - \delta})}} = {{E\begin{bmatrix}{y_{n}^{*}{x\left( {n - \delta} \right)}} \\{{- {\overset{˘}{x}}_{n}^{*}}{x\left( {n - \delta} \right)}}\end{bmatrix}} = {\begin{bmatrix}R_{{yx}{({n - \delta})}} \\{- R_{\overset{˘}{x}{x{({n - \delta})}}}}\end{bmatrix}.}}} & \text{Equation~~(67)}\end{matrix}$

[0152] Using a channel output model, such as the channel output modeldescribed in T. Kailath, A. H. Sayed, and B. Hassibi, Linear Estimation,Prentice Hall, N.J., 2000, and the fact that {x_(i)(n)} are individuallyidentically distributed (i.i.d.), The following closed form expressionsfor{R_(y),R_(y{haeck over (x)}),R_({haeck over (x)}),R_(yx(n−δ)),R_({haeck over (x)}x(n−δ))}may be formed:

R _(y) =Ey* _(n) y _(n) =R _(v) +H*R _(x) H,  Equation (68)$\begin{matrix}{R_{y\overset{˘}{x}} = {{H^{*}\left( {{Ex}_{n}^{*}x_{n}} \right)} = {{H^{*}\begin{bmatrix}0_{{({\delta + 1})}P \times {MP}} \\R_{x}^{({MP})} \\0_{{({N + L - M - \delta})}P \times {MP}}\end{bmatrix}}\underset{=}{\Delta}{\overset{\_}{H}}^{*}{\overset{\_}{R}}_{x}}}} & \text{Equation~~(69)}\end{matrix}$

 R_({haeck over (x)})=R_(x)  Equation (70) $\begin{matrix}{R_{{yx}{({n - \delta})}} = {{H^{*}{Ex}_{n}^{*}{x\left( {n - \delta} \right)}} = {{H^{*}\begin{bmatrix}0_{{({\delta + 1})}P \times P} \\R_{x}^{(P)} \\0\end{bmatrix}}\underset{=}{\Delta}h^{*}R_{x}^{(P)}}}} & \text{Equation~~(71)}\end{matrix}$

 R_({haeck over (x)}x(n−δ)) =0  Equation (72)

[0153] where {overscore (H)} is a submatrix of H, such that$\begin{matrix}{{H = \begin{bmatrix}H_{1} \\\overset{\_}{H} \\H_{2}\end{bmatrix}},{{where}\quad H_{1}\quad {is}\quad \left( {\delta + 1} \right)P \times {LQ}}} & \text{Equation~~(73)}\end{matrix}$

[0154] Now, with the quantities defined above, Equation (65) becomes:$\begin{matrix}{w_{opt} = {\begin{bmatrix}{R_{v} + {H^{*}R_{x}H}} & {{- {\overset{\_}{H}}^{*}}{\overset{\_}{R}}_{x}} \\{{- {\overset{\_}{R}}_{x}}\overset{\_}{H}} & {\quad {\overset{\_}{R}}_{x}}\end{bmatrix}^{- 1}\begin{bmatrix}{h^{*}R_{x}^{(P)}} \\0\end{bmatrix}}} & \text{Equation~~(74)}\end{matrix}$

[0155] Using the well-known inverse of block matrices, Equation (74) maybe rewritten as: $\begin{matrix}{w_{opt} = {\begin{bmatrix}I \\\overset{\_}{H}\end{bmatrix}\left( {R_{v} + {H_{1}^{*}R_{x}^{(1)}H_{1}} + {H_{2}^{*}R_{x}^{(2)}H_{2}}} \right)^{- 1}h^{*}{R_{x}^{(P)}.}}} & \text{Equation~~(75)}\end{matrix}$

[0156] Further, because M≧N−1, the quantities h_(δ), H₁ and H₂ are suchthat: $\begin{matrix}{\left\lbrack \frac{H_{1}}{H_{2}} \right\rbrack = {{\left\lbrack {\frac{H_{\delta}}{0}\frac{0}{\overset{\_}{H}}} \right\rbrack \quad {and}\quad h} = {\left\lbrack {h_{\delta}\quad 0} \right\rbrack.}}} & \text{Equation~~(76)}\end{matrix}$

[0157] This implies the following expressions for the optimal feedbackand feed forward coefficients may be rewritten as:

g_(opt)=(R_(v)+H*_(δ)R_(x) ^((δ))H_(δ))⁻¹h*_(δ)R_(x) ^((P))  Equation(77)

b_(opt)={overscore (H)}g_(opt)  Equation (78)

[0158] where R_(x) ^((δ)) and R_(x) ^((P)) are size δ and P matrices.The above expressions are valid for all values of the delay δ. Ingeneral, the optimal value for the decision delay δ is within the rangeL−1≦δ_(opt)≦N+L−2.

[0159] In finding a solution for g_(opt), a coefficient matrix is firstdetermined as:

P _(δ)

(R _(v) +H* _(δ) H _(δ))⁻¹,  Equation (79)

[0160] Where the definition H _(δ)

R_(x) ^(1/2)H_(δ) is made. The optimal solution for the feed forwardcoefficients is then given by:

g _(opt) =P _(δ) h* _(δ) R _(x) ^(1/2).  Equation (80)

[0161] A reader acquainted with the theory of recursive least squaresalgorithms might readily recognize that the quantity {overscore(g)}_(opt)=P_(δ)h*_(ε) corresponds exactly the definition of the Kalmangain matrix in the recursive least squares algorithm. The Kalman gainmatrix is used to update the optimal weights in a regularized (multichannel) RLS problem. More specifically, given a (n+1)P×LQ data matrixH_(n) and the corresponding coefficient matrix P_(n), the Kalman gain{overscore (g)}_(n)=P_(n) h*_(n)can be time-updated according to thefollowing recursions (see e.g. T. Kailath, A. H. Sayed, and B. Hassibi,Linear Estimation, Prentice Hall, N.J., 2000):

γ⁻¹(n)=I _(P) +h _(n) P _(n−1) h* _(n),  Equation (81)

{overscore (g)} _(n) =P _(n−1) h* _(n)γ(n),  Equation (82)

P _(n) =P _(n−1) −{overscore (g)} _(n) γ⁻¹(n){overscore(g)}*_(n);  Equation (83)

[0162] where P⁻¹=R_(v) ⁻¹ and {overscore (g)}₀=0.

[0163] The computation of {overscore (g)}_(n) can be done efficiently,via a fast RLS recursion. That is, consider Equation (82), which can bewritten as:

{overscore (g)} _(n) =k _(n)γ(n),  Equation (84)

[0164] where γ(n) is defined in Equation (81). The quantityk_(n)=P_(n−1) h*_(n)is referred to as the normalized Kalman gain matrixin adaptive RLS filtering. The key to achieving fast recursions is topropagate k_(n) efficiently, by successive order updates and order downdates of k_(n), using forward and backward LS prediction problems. Thewell-known fast transversal filter (FTF) is an example where such fasttechnique is encountered, see e.g., J. Cioffi and T. Kailath, “Fastrecursive-least-squares transversal filters for adaptive filtering,”IEEE Trans. on Acoust., Speech Signal Processing, vol. ASSP-32, pp.304-337, April 1984.

[0165] The difference here, however, is that the entries of theregressor h _(n) are the channel matrix coefficients h(0), . . .,h(N−1), each of size P×Q (In the multi channel RLS equations, theentries of the regressor are usually given by a row or a column vector,and the recursions have no matrix inversions).

[0166] Now let k_(0,n)=k_(n), and denote {k_(i,n)} the augmented Kalmangains that correspond to estimating each column of h(n), say,[h(n)]_(:,i) from [h(n)]_(:,i+1:Q) h _(n−1). In order to update k_(0,n)efficiently without matrix inversions, we perform Q successive orderupdates from k_(0,n−1) to k_(Q,n−1). Now, note that in general the fastrecursions that computer k_(0,n) rely on forward and backward predictionproblems. Here, because M≧N−1 the matrix H_(δ) has a block lowertriangular structure, the desired signal for the backward predictionproblem is always equal to zero. As a result, the least-squares backwardprediction solution up to time δ will be equal to zero, and the fastalgorithm will need only the forward prediction part. That is,

k_(o,n−1)→k_(l,n−1)→ . . . k_(Q,n−1)  Equation (85)

[0167] so that

k _(0,n) =k _(Q,n−1)(1:QL,:)  Equation (86)

[0168] The resulting algorithm is then given by consecutive updates of Qforward prediction problems where we estimate the columns of h(n) from h_(n−1) and compute the corresponding forward prediction matrix-valuedquantities. Table 4 lists the resulting multi channel algorithm. TABLE 4Fast Computation of g_(opt) for the MIMO DFE. Initialization For q = 0to Q − 1 perform the following initialization steps: $\begin{matrix}{{\zeta_{q}^{f}\left( {- 2} \right)} = \sigma_{v,q}^{2}} \\{w_{q,{- 1}}^{f} = 0_{{QL} + {q \times Q}}} \\{k_{0,0} = 0_{{QL} \times P}} \\{{\gamma_{0}(0)} = I_{P}}\end{matrix}\quad$

For n = 0 to δ: repeat operations (I), (II), and (III): (I) For q = 1 toQ, repeat (1) to (6): (1)${\alpha_{q}\left( {n - 1} \right)} = {\left\lbrack {\underset{\_}{h}(n)} \right\rbrack_{:{,{Q - q}}} - {{\underset{\_}{h}}_{n - 1}w_{q,{n - 2}}^{f}}}$

(2) f_(q)(n − 1) = γ_(q)(N − 1)α_(q)(n − 1) (3)$k_{q,{n - 1}} = {\begin{bmatrix}O_{1 \times P} \\k_{{q - 1},{n - 1}}\end{bmatrix} + {\begin{bmatrix}1 \\{- w_{q,{n - 2}}^{f}}\end{bmatrix}\frac{\alpha_{q}^{*}\left( {n - 1} \right)}{\zeta_{q}\left( {n - 2} \right)}}}$

(4)ζ_(q)^(f)(n − 1) = ζ_(q)^(f)(n − 2) + α_(q)^(*)(n − 1)f_(q)(n − 1)

(5) w_(q, n − 1)^(f) = w_(q, n − 2)^(f) + k_(q − 1, n − 1)f_(q)(n − 1)

(6)${\gamma_{q}\left( {n - 1} \right)} = {{\gamma_{q - 1}\left( {n - 1} \right)} + \frac{{f_{q}\left( {n - 1} \right)}{f_{q}^{*}\left( {n - 1} \right)}}{\zeta_{q}^{f}\left( {n - 1} \right)}}$

(II) k_(0,n) = k_(Q,n−1)(1:QL, :) (III) γ₀(n) = γ_(Q)(n −1) Finally, setg_(opt) = k_(0,δ)γ₀(δ)R_(x) ^(1/2)

[0169] The exponentially weighted FTF algorithm can become unstable insome finite precision implementations. Hence, the reader may wonderwhether this is also the case for the present simplified algorithm,since both have the same essence. There are two advantages, however,that prevent the simplified algorithm from becoming unstable:

[0170] (i) The main source of error propagation in the full FTFalgorithm arises in the backward prediction section of its recursions.Here, by ruling out the equations associated with the backwardprediction problem many of the recursive loops that contribute to theunstable behavior of the full FTF algorithm are automaticallyeliminated.

[0171] (ii) Another source of instability of the FTF recursions isrelated to the forgetting factor λ that appears in the exponentiallyweighted RLS problem. Theoretically with λ<1, the redundant componentsgenerated by numerical errors would decay to zero as N→∞. However, anaveraging analysis shows that this will lead to unstable modes at 1/λthat will cause instability in finite precision. Now, note that thepresent fast recursions deal with the problem of filtering a finite setof data samples of the channel model. In other words, for the purposesof the present invention, the algorithm must stop when n=δ. Moreover, inthe present application, the corresponding forgetting factor is alwaysequal to one, in which case the recursions will present much betternumerical behavior. This means that even if the simplified fastalgorithm were to become unstable, it would not be likely to happenwithin the first δ iterations. Furthermore, if this were still the case,a simple increase of the word length would overcome the problem.

[0172] The computation of b_(opt) in equation (36) can be performedefficiently via using fast Fourier transform techniques. This can bedone by extending the block Toeplitz structure of {overscore (H)} toform a KP×KQ block-circulant matrix C_(P,Q), where each block entry hassize P×Q (see, e.g., M. Vollmer, J. Gotze, M Haardt, “Efficient JointDetection Techniques for TD-CDMA in the Frequency Domain,” COST 262Workshop “Multiuser Detection in Spread Spectrum Communications”, Ulm,Germany, 2001).

[0173] In the present case, there is a block diagonal matrix Λ_(P,Q)such that C_(P,Q)=F*_(P)Λ_(P,Q)F_(Q) where F_(i) are block-Fouriertransforms given by F_(i)=F{circle over (×)}I_(i), with {circle over(×)} denoting the Kronecker product and the matrix F the K×K DFT matrix.The diagonal elements of Λ_(P,Q) can thus be computed from the block-DFTof the first block-column of C_(P,Q). The b_(opt) then becomes$\begin{matrix}{b_{opt} = {{R_{x}\left\lbrack {I_{MP}\quad 0} \right\rbrack}\left( {F\quad \otimes \quad I_{P}} \right)^{*}{{{\Lambda_{P,Q}\left( {F\quad \otimes \quad I_{Q}} \right)}\begin{bmatrix}g_{opt} \\0\end{bmatrix}}.}}} & \text{Equation~~(87)}\end{matrix}$

[0174] Hence, the complexity is given b P inverse FFTs, Q FFTs, and PFFTs of size K, and KPQ complex multiplies. Thus the overall complexityfor computing the feedback filter is KPQ+(2P+Q)K log₂(K).

[0175]FIG. 12 is logic diagram illustrating operation according toanother embodiment of the present invention for determining FFEcoefficients. The operations of FIG. 12 differ from the operations ofFIG. 3 in that the delay of FBE is not limited to being less than orequal to the length of the FFE but is chosen to correspond to thechannel being equalized (step 1202). FIGS. 14 and 15 describe differingtechniques for selecting the DFE delay. Referring still to FIG. 12,operation continues by formulating a solution that, when solved, willyield the DFE coefficients, wherein the solution is formulated as aleast squares problem that is based upon the channel response (step1204).

[0176] Next, the operation considers whether the DFE delay is greaterthan the length of the FFE minus one, i.e., is the DFE delay greaterthan the FFE delay (step 1206). When the delay of the DFE is less thanor equal to a number of taps of the FFE minus one, the method includessolving the least squares problem to yield FFE coefficients of the DFEcoefficients by performing a first set of operations (step 1208).However, when the delay of the DFE is greater than the delay of the FFE,operation includes solving the least squares problem to yield FFEcoefficients of the DFE coefficients by performing a first set ofoperations (step 1210) and by performing a second set of operations(step 1212). Finally, the method includes (from step 1208 and from step1212) convolving the FFE coefficients with a convolution matrix that isbased upon the channel response to yield FBE coefficients of the DFEcoefficients (step 1214).

[0177] The operations of FIG. 12 are further described in the followingand illustrated in Table 5. The solutions provided by Tables 2, 3 and 4were valid only for δ≦L−1, which is inadequate for channels with longpre-echoes. The general solution for the FFE taps was indicated inTable 1. However, for the values of n≦L−1, the variables correspondingto the backward prediction problem are all equal to zero, while theforward prediction variables are not. For the values of n>L−1, thebackward prediction variables are non-zero as well. To exploit thisproperty to reduce complexity of the full FTF algorithm in Table 1,updating the backward prediction variables for n>L−1 is done, asfollows: TABLE 5 FTF computation of FFE taps for long equalizer delays.$\begin{matrix}{{\zeta^{f}\left( {- 1} \right)} = {{\zeta^{b}(0)} = \sigma_{v}^{2}}} \\{w_{- 1}^{f} = {w_{- 1}^{b} = {k_{L,0} = 0}}} \\{{\gamma_{M}(0)} = 1}\end{matrix}\quad$

For n = 0 to L − 1 repeat operations (1) to (7): (1)α_(L)(n − 1) = h(n) − h_(n − 1)w_(n − 2)^(f)

(2) f(n − 1) = γ_(L)(n − 1)α(n −1) (3)${\overset{\_}{k}}_{{L + 1},n} = {\begin{bmatrix}0 \\k_{L,{n - 1}}\end{bmatrix} + {\frac{\alpha*\left( {n - 1} \right)}{\zeta^{f}\left( {n - 2} \right)}\begin{bmatrix}1 \\{- w_{n - 2}^{f}}\end{bmatrix}}}$

(4) ζ^(f)(n − 1) = ζ^(f)(n − 2) + α * (n − 1)f(n − 1) (5)w_(n − 1)^(f) = w_(n − 2)^(f) + k_(L, n − 1)f(n − 1)

(6)${\gamma_{L}(n)} = \frac{\sigma_{v}^{2}}{\zeta^{f}\left( {n - 1} \right)}$

(7) $k_{L,n} = {\overset{\_}{k}}_{{1:L},{n - 1}}$

For n = L to δ repeat operations (1) to (13): (1)α_(L)(n − 1) = h(n) − h_(n − 1)w_(n − 2)^(f)

(2) f(n − 1) = γ_(L)(n − 1)α(n −1) (3)${\overset{\_}{k}}_{{L + 1},n} = {\begin{bmatrix}0 \\k_{L,{n - 1}}\end{bmatrix} + {\frac{\alpha*\left( {n - 1} \right)}{\zeta^{f}\left( {n - 2} \right)}\begin{bmatrix}1 \\{- w_{n - 2}^{f}}\end{bmatrix}}}$

(4) ζ^(f)(n − 1) = ζ^(f)(n − 2) + α * (n − 1)f(n − 1) (5)w_(n − 1)^(f) = w_(n − 2)^(f) + k_(L, n − 1)f(n − 1)

(6)${\gamma_{L + 1}(n)} = {{\gamma_{L}\left( {n - 1} \right)}\frac{\zeta^{f}\left( {n - 2} \right)}{\zeta^{f}\left( {n - 1} \right)}}$

(7)${v(n)} = \left( {{last}\quad {entry}\quad {of}\quad {\overset{\_}{k}}_{{L + 1},n}} \right)$

(8) $k_{L,n} = {{\overset{\_}{k}}_{{1:L},n} + {{v(n)}w_{n - 1}^{b}}}$

(9) β(n) = ζ^(b)(n − 1)v^(*)(n)

(10)${\gamma_{L}(n)} = \frac{{\overset{\_}{\gamma}}_{L + 1}(n)}{1 - {{{\overset{\_}{\gamma}}_{L + 1}(n)}{\beta_{L}(n)}{v_{L}(n)}}}$

(11) b(n) = γ_(L)(n)β_(L)(n) (12)ζ^(b)(n) = ζ^(b)(n − 1) + β^(*)(n)b(n)

(13) w_(n)^(b) = w_(n − 1)^(b) + k_(L, n)b(n)

[0178] By so doing, in the first L iterations, we need 3L/2multiplies/iteration. For the last (δ−L) iterations, the complexity is5L/2 multiplies/iteration. Thus the total complexity is [3L²+5L (δ−L)]/2multiplies. If the full FTF algorithm was used, we would need 5Lδ/2,which is significantly more complex.

[0179]FIG. 13 is a graph illustrating a hypothetical channel impulseresponse indicating how channel delay may be determined according to thepresent invention. To determine the value of the delay δ of the FBE, thefollowing procedure could be used. The channel delay δ_(c) could becomputed as the index of the strongest channel tap. The equalizer delaycould then be computed as δ=δ_(c)+L−1.

[0180]FIG. 14 is a logic diagram illustrating operation according to afirst embodiment of the present invention in selecting FBE coefficients.This operation includes first selecting an initial equalizer delay value(step 1402). Then, for the particular equalizer delay value (FBE delay),the operation includes calculating a set of FFE coefficients and FBEcoefficients (step 1404). Then operation then includes determining theFBE tap energy for the particular FBE delay (step 1406). If this FBE tapenergy is less than a FBE tap energy threshold (as determined at step1408) the FFE and FBE coefficients determined for the particular FBE areemployed (step 1414). If the FBE tap energy is not less than the FBE tapenergy threshold (as determined at step 1408), it is next determinedwhether the FBE delay is at a maximum (step 1410). If so, no acceptableFBE coefficients have been determined for the particular channelresponse and FBE configuration, the operation has failed (step 1416).However, if the FBE delay is not at a maximum (as determined at step1410), the equalizer delay is increased by a step size (or otherwisealtered as may be appropriate for the given operations) at step 1412 andoperation returns to step 1404.

[0181]FIG. 15 is a logic diagram illustrating operation according to asecond embodiment of the present invention in selecting FBEcoefficients. This operation includes first selecting an initialequalizer delay value (step 1502). Then, for the particular equalizerdelay value (FBE delay), the operation includes calculating a set of FFEcoefficients and FBE coefficients (step 1504). Then operation thenincludes determining the FBE tap energy for the particular FBE delay(step 1506). The operation then includes storing the FFE coefficients,the FBE coefficients, and the FBE tap energy along with the particularFBE delay (step 1508). It is next determined whether the FBE delay is ata maximum (step 1510). If so, the FFE coefficients, FBE coefficients,and FBE delay is selected that corresponds to a minimum FBE tap energy(step 1516) of all solutions that have been stored. If the FBE delay isnot at the maximum FBE delay (as determined at step 1510), the equalizerdelay is increased by a step size (or otherwise altered as may beappropriate for the given operations) at step 1512 and operation returnsto step 1504.

[0182] The invention disclosed herein is susceptible to variousmodifications and alternative forms. Specific embodiments therefore havebeen shown by way of example in the drawings and detailed description.It should be understood, however, that the drawings and detaileddescription thereto are not intended to limit the invention to theparticular form disclosed, but on the contrary, the invention is tocover all modifications, equivalents and alternatives falling within thespirit and scope of the present invention as defined by the claims.

1. A method for computing Decision Feedback Equalizer (DFE)coefficients, the method comprising: estimating the channel response ofa channel operated upon by the DFE; formulating a solution that, whensolved, will yield the DFE coefficients, wherein the solution isformulated as a least squares problem that is based upon the channelresponse; solving the least squares problem to yield Feed ForwardEqualizer (FFE) coefficients of the DFE coefficients, wherein solvingthe least squares problems includes: selecting a delay of the DFE; whenthe delay is less than or equal to a number of taps of the FFE minusone, performing a first set of operations; and when the delay is greaterthan the number of taps of the FFE minus one, performing a second set ofoperations; and convolving the FFE coefficients with a convolutionmatrix that is based upon the channel response to yield Feed BackEqualizer (FBE) coefficients of the DFE coefficients.
 2. The method ofclaim 1, wherein the least squares problem is formulated as a Kalmangain solution.
 3. The method of claim 2, wherein the Kalman gainsolution is determined using a Fast Transversal Filter (FTF) algorithm.4. The method of claim 3, wherein when the DFE delay is chosen to beless than or equal to a number of taps of the FFE minus one, a length ofthe FBE is chosen to force the FTF algorithm to use a lower triangularmatrix.
 5. The method of claim 1, wherein determining the delay of theDFE includes: determining a delay of the channel based upon the channelresponse of the channel; and adding the delay of the channel to thenumber of taps of the FFE minus one to produce the delay of the DFE. 6.The method of claim 5, wherein the delay of the channel is selected asthe length of the precursor of the channel response.
 7. The method ofclaim 1, wherein determining the delay of the DFE includes: calculatinga plurality of sets of FFE coefficients and FBE coefficients, whereineach of the plurality of sets of FFE coefficients and FBE coefficientscorresponds to a respective DFE delay; and selecting one of theplurality of sets of FFE coefficients and FBE coefficients based uponthe tap energy of the respective FBE coefficients.
 8. The method ofclaim 7, wherein selecting one of the plurality of sets of FFEcoefficients and FBE coefficients based upon the tap energy of therespective FBE coefficients comprises selecting a set of FFEcoefficients and FBE coefficients that meets an FBE coefficient tapenergy threshold.
 9. The method of claim 7, wherein selecting one of theplurality of sets of FFE coefficients and FBE coefficients based uponthe tap energy of the respective FBE coefficients comprises selecting aset of FFE coefficients and FBE coefficients that provides a minimum FBEcoefficient tap energy.
 10. The method of claim 1, wherein in convolvingthe FFE coefficients with the convolution matrix that is based upon thechannel response to yield the FBE coefficients of the DFE coefficients,the method further comprises: extending a convolution matrix createdbased upon the channel response to a bigger circulant matrix; andperforming the convolution in a transformed domain.
 11. The method ofclaim 10, wherein the transformed domain is selected from the groupconsisting of the frequency domain, the Discrete Cosine Transform domainand the Discrete Hadamard Transform domain.
 12. The method of claim 1,wherein in convolving the FFE coefficients with the convolution matrixthat is based upon the channel response to yield the FBE coefficients ofthe DFE coefficients, the method further comprises: extending aconvolution matrix created based upon the channel response to a biggercirculant matrix; and computing the convolution in the frequency domain.13. The method of claim 12, wherein computing the convolution in thefrequency domain includes: transforming the convolution matrix and theFFE coefficients from the time domain to the frequency domain using aFast Fourier Transform; computing the convolution in the frequencydomain to produce the FBE coefficients; and transforming the FBEcoefficients from the frequency domain to the time domain.
 14. Themethod of claim 1, wherein the channel response is based upon a knownpreamble sequence of a packet upon which the DFE operates.
 15. Themethod of claim 1, wherein the channel response is based upon decisionsmade for data carried in a packet.
 16. The method of claim 1, whereinthe channel response is based upon: a known training sequence containedin a packet preamble; and decisions made for data carried in the packet.17. The method of claim 1, wherein the FFE and the FBE of the DFE aresymbol spaced.
 18. The method of claim 1, wherein the FFE and the FBE ofthe DFE are fractionally symbol spaced.
 19. The method of claim 1,wherein the method is applied within a Digital Television Broadcastsystem.
 20. The method of claim 1, wherein the method is applied withina Satellite communication system.
 21. A method for computing DecisionFeedback Equalizer (DFE) coefficients, the method comprising: estimatingthe channel response of a channel operated upon by the DFE; formulatinga solution that, when solved, will yield the DFE coefficients, whereinthe solution is formulated as a least squares problem that is based uponthe channel response; solving the least squares problem using a Kalmangain solution to yield Feed Forward Equalizer (FFE) coefficients of theDFE coefficients using a Fast Transversal Filter (FTF) algorithm,wherein solving the least squares problems includes: selecting a delayof the DFE; when the delay is less than or equal to a number of taps ofthe FFE minus one, performing a first set of operations; and when thedelay is greater than the number of taps of the FFE minus one,performing a second set of operations; and convolving the FFEcoefficients with a convolution matrix that is based upon the channelresponse to yield Feed Back Equalizer (FBE) coefficients of the DFEcoefficients.
 22. The method of claim 21, wherein when the DFE delay ischosen to be less than or equal to a number of taps of the FFE minusone, a length of the FBE is chosen to force the FTF algorithm to use alower triangular matrix.
 23. The method of claim 21, wherein determiningthe delay of the DFE includes: determining a delay of the channel basedupon the channel response of the channel; and adding the delay of thechannel to the number of taps of the FFE minus one to produce the delayof the DFE.
 24. The method of claim 23, wherein the delay of the channelis selected as the length of the precursor of the channel response. 25.The method of claim 21, wherein determining the delay of the DFEincludes: calculating a plurality of sets of FFE coefficients and FBEcoefficients, wherein each of the plurality of sets of FFE coefficientsand FBE coefficients corresponds to a respective DFE delay; andselecting one of the plurality of sets of FFE coefficients and FBEcoefficients based upon the tap energy of the respective FBEcoefficients.
 26. The method of claim 25, wherein selecting one of theplurality of sets of FFE coefficients and FBE coefficients based uponthe tap energy of the respective FBE coefficients comprises selecting aset of FFE coefficients and FBE coefficients that meets an FBEcoefficient tap energy threshold.
 26. The method of claim 25, whereinselecting one of the plurality of sets of FFE coefficients and FBEcoefficients based upon the tap energy of the respective FBEcoefficients comprises selecting a set of FFE coefficients and FBEcoefficients that provides a minimum FBE coefficient tap energy.
 27. Themethod of claim 21, wherein the FFE and the FBE of the DFE are symbolspaced.
 28. The method of claim 21, wherein the FFE and the FBE of theDFE are fractionally symbol spaced.
 29. The method of claim 21, whereinthe method is applied within a Digital Television Broadcast system. 30.The method of claim 21, wherein the method is applied within a Satellitecommunication system.
 31. A method for computing Decision FeedbackEqualizer (DFE) coefficients, the method comprising: estimating thechannel response of a channel operated upon by the DFE; formulating asolution that, when solved, will yield the DFE coefficients, wherein thesolution is formulated as a least squares problem that is based upon thechannel response; for each of a plurality of FBE delays, solving theleast squares problem to yield a set of Feed Forward Equalizer (FFE)coefficients and Feed Back Equalizer (FBE) coefficients of the DFEcoefficients, wherein each set of FFE coefficients and FBE coefficientscorresponds to a respective FBE delay; and selecting a set of FFEcoefficients and FBE coefficients based upon the tap energy of the FBEcoefficients of the set.
 32. The method of claim 31, wherein selecting aset of FFE coefficients and FBE coefficients based upon the tap energyof the FBE coefficients of the set comprises selecting a set of FFEcoefficients and FBE coefficients that meets an FBE coefficient tapenergy threshold.
 33. The method of claim 31, wherein selecting a set ofFFE coefficients and FBE coefficients based upon the tap energy of theFBE coefficients of the set comprises selecting a set of FFEcoefficients and FBE coefficients that provides a minimum FBEcoefficient tap energy.